package cn.kgc.mybatis.mybatis;

import cn.kgc.mybatis.entity.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @Author: 课工场
 * @Version: v1.0  2023/5/31
 * @Description: mybatis 实现数据的相关操作
 */
public class TestMybatis {


    public static void main(String[] args) throws IOException {

        //每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的
        InputStream resourceAsStream = Resources.getResourceAsStream("mybatis-config.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);

        // sqlSession  实现数据的crud操作    SqlSession 提供了在数据库执行 SQL 命令所需的所有方法
        SqlSession sqlSession = factory.openSession();

        //  string statement   -> sql

        List<User> users = sqlSession.selectList("cn.kgc.user.list");
        for (User user : users) {
            System.out.println("user = " + user);
        }

        sqlSession.close();

    }

    

}
